package br.com.dev.tcc.util.alarm;

import java.util.Calendar;
import java.util.List;

import android.content.Context;
import br.com.dev.tcc.R;
import br.com.dev.tcc.bean.Apolice;
import br.com.dev.tcc.bean.Lembrete;
import br.com.dev.tcc.database.DatabaseHelper;
import br.com.dev.tcc.database.dao.ApoliceDAO;

/**
 * Manipula os alarmes das apólices.
 * 
 * @author Anderson
 * 
 */
public class ApolicesAlarmManager {

	/**
	 * Percorre as apólices cadastradas e registra os alarmes ativados.
	 */
	public static void buildAlarms(Context context) {

		AlarmUtil alarmUtil = new AlarmUtil(context);

		ApoliceDAO dao = new ApoliceDAO(new DatabaseHelper(context));
		List<Apolice> apolices = dao.lista();

		for (Apolice apolice : apolices) {

			Lembrete lembrete = apolice.getLembreteLicenca();
			if (lembrete != null) {
				Calendar time = lembrete.getDate();
				if (time != null)
					alarmUtil.createAlarm(apolice.getId(), time,
							context.getString(R.string.mensagem_licenca));
				else
					alarmUtil.cancelAlarm(apolice.getId());
			}

			lembrete = apolice.getLembreteRodizio();
			if (lembrete != null) {
				Calendar time = lembrete.getDate();
				if (time != null)
					alarmUtil.createAlarmRodizio(apolice.getId(), time,
							context.getString(R.string.mensagem_rodizio));
				else
					alarmUtil.cancelAlarm(apolice.getId());
			}
		}
	}
}
